// axios的配置文件
// 引入axios并配置
import axios from "axios"; // console.dir(axios);

// 导入nprogress进度条插件
import NProgress from "nprogress"; // 在vue中导入js文件
import "nprogress/nprogress.css"; // 在vue中导入css文件

// 给axios配置请求拦截器
axios.interceptors.request.use(
  function(config) {
    // 给axios本身配置token信息
    // config:本身是一个对象，具体是axios.defaults的体现
    // axios本身是对象，内部有defaults成员，defaults也是对象
    // config可以直接给axios做具体信息配置。// console.log(config)
    // 给axios配置token信息，这个"token"是通过请求头方式设置的
    var token = window.sessionStorage.getItem("token");
    config.headers.Authorization = token;
    // 开启进度条
    NProgress.start();

    return config;
  },
  function(error) {
    return Promise.reject(error);
  }
);
// 给axios配置响应拦截器
axios.interceptors.response.use(
  function(response) {
    // 关闭进度条err
    NProgress.done();
    return response;
  },
  function(err) {
    return Promise.reject(err);
  }
);
// 给axios配置公共根地址(基准路径)
axios.defaults.baseURL = "http://127.0.0.1:11333/api/private/v1/";

export default axios;
